#ifndef QTROBOTSPRITE_H
#define QTROBOTSPRITE_H


#include "QtLineSprite.h"
#include "QtPixmapSprite.h"
#include "Resourceable.h"

class QtRobotSprite: public QtPixmapSprite, public Resourceable
{
public:
	QtRobotSprite(const std::string& type, QtSprite *parent = 0);
	~QtRobotSprite();

	void MoveLeft();
	void MoveRight();
	void MoveUp();
	void MoveDown();
	void TurnLeft();
	void TurnRight();
	void Shoot();
	void Die();
	void Spawn();
	void Hit();
	void SetMovementDistance(unsigned int distance);
	void SetLaserDestination(const QPointF& pos);
	void SetSpawnPosition(const QPointF& pos);
	
private:
	unsigned int movementDistance;
	QPointF laserDestination;
	QPointF spawnPosition;

	QtLineSprite *laserBeam;
	unsigned int duration;
};

#endif //QTROBOTSPRITE_H